package string_test;

public class StirngTest {
    public static void main(String[] args) {

        //1.创建最常用的四种方式
//        // 方式一 直接赋值
//        String str1 = "hello world";
//
//        // 方式二 通过构造方法产生对象（String也是一个类）
//        String str2 = new String("构造方法的String");
//
//        // 方式三  通过字符数组产生对象
//        char[] data = {'a','b','c'};
//        String str3 = new String(data);
//
//        //方式四:通过String的静态方法valueOf(任意数据类型)=>转为字符串
//        String str4 = String.valueOf(10);
//
        // 2.字符串的字面量也是字符串的对象
//        String str1 = "hello world";
//        String str2 = "hello world";
//        System.out.println(str1 == str2);
//
//        String str3 = str1;
//        str1 = "abc";
//        System.out.println("str3 = " + str3);
//        System.out.println("str1 = " + str1);
        // 3.字符串比较相等
//        String str1 = new String("hello");
//        String str2 = new String("HELLO");
//        System.out.println(str1 == str2);
//        System.out.println(str1.equals(str2));
//        System.out.println(str1.equalsIgnoreCase(str2));

        // 这个变量由用户从浏览器输入
//        String useName = null;
//
//        //System.out.println(useName.equals("张三"));
//
//        System.out.println("张三".equals(useName));

        // 4.字符串常量池
//        String str1 = "hello world";
//        String str2 = "hello world";
//        String str3 = "hello world";
//        System.out.println(str1 == str2);
//        System.out.println(str2 == str3);

    //        String str1 = new String("hello");
    //        String str2 = new String("hello");
    //        String str3 = new String("hello");
    //
    //        System.out.println(str1 == str2);
    //        System.out.println(str1 == str3);
    //        System.out.println(str2 == str3);

        //inter方法测试
//        String str1 = new String("hello");
//        str1 = str1.intern();
//        String str2 = "hello";
//        System.out.println(str1 == str2);

        //现在用字符数组创建字符串
        char[] data = new char[]{'a','b','c'};
        String str1 = new String(data);
        str1.intern();
        String str2 = "abc";
        System.out.println(str1 == str2);
    }
}
